package com.xiaominfo.oss.module.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Author lien
 * @Date 2019/12/24 17:15
 * @Description 存储详情对象
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("oss_material_info")
public class OSSMaterialInfo extends Model<OSSMaterialInfo> {

    /**
     * 主键id
     */
    @TableId(value = "id",type = IdType.INPUT)
    private String id;

    /**
     * 真实名称
     */
    @TableField(value = "original_name")
    private String originalName;

    /**
     * 存储路径（相对地址）
     */
    @TableField(value = "store_path")
    private String storePath;

    /**
     * url全名称
     */
    private String url;

    /**
     * 所属用户id
     */
    @TableField(value = "user_id")
    private String userId;

    /**
     * 所属appid
     */
    @TableField(value = "app_id")
    private String appId;

    /**
     * 文件类型
     */
    private String type;

    /**
     * 文件大小（字符串）
     */
    @TableField(value = "byte_str")
    private String byteStr;

    /**
     * 文件大小 (字节长度)
     */
    private Integer len;

    /**
     * 最后修改时间
     */
    @TableField(value = "last_modified_time")
    private String lastModifiedTime;

    /**
     * 文件md5
     */
    @TableField(value = "md5")
    private String md5;

    /**
     * 来源IP
     */
    @TableField(value = "from_ip")
    private String fromIp;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private String createTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
